<?php
//Класс хранит пути к разным частям фреймворка
//Префиксы вида v_, c_ и s_ используются для более быстрого поиска и идентификации файлов в процессе
//разработки
class Path {
	private static $application;
	
    public static function controller($controller, $is_service) {
        if ($is_service) {
          $folder = 'services';
          $prefix = 's';
        }
        else {
          $folder = 'controllers';
          $prefix = 'c';
        }
          
        return ROOT.Path::$application.'/'.$folder.'/'.$prefix.'_'.$controller.'.php';
    }
	
	public static function setApplication($application) {
		Path::$application = $application;
	}
	
	public static function page_default() {
         return '_pages/'.Local::get('controller').'/'.Local::get('method');
    }
	
    /*
    public static function page() {
        return Path::view(Path::page_default());
    }
    
    public static function folder($is_framework) {
       return ($is_framework)? 'framework' : 'application';
    }*/
    
    public static function view($view) {
        //Добавляем префикс v перед именем view
        $last_slash = strlen($view) - strlen(array_pop(explode('/', $view)));
        $view = substr($view, 0, $last_slash).'v_'.substr($view, $last_slash);
        
        return ROOT.Path::$application.'/views/'.$view.'.php';
    }
	
	public static function system_view($view) {
		return ROOT.'framework/views/v_'.$view.'.php';
	}
	
	public static function block($block_name) {
		return Path::view('_blocks/'.$block_name);
	}
	
	public static function service_messages() {
		return ROOT.Path::$application.'/services/service_messages.php';
	}
    
    public static function css($css, $is_framework = FALSE) {
       if ($is_framework) 
          $app_url = BASE_URL.'framework/';
        else
          $app_url = APP_URL;

        return $app_url.'public/css/'.$css.'.css';		
    }
    
    public static function js($js, $is_framework = FALSE) {
    	if ($is_framework) 
		  $app_url = BASE_URL.'framework/';
		else
		  $app_url = APP_PATH;

        return $app_url.'public/js/'.$js.'.js';
    }
    
    public static function default_path() {
         return '_pages/'.Local::get('controller').'/'.Local::get('method');
    }
	
	public static function temp_files($file_name) {
		return ROOT.Path::$application.'/temp_files/'.$file_name;		
	}
	
    public static function image_files($file_name) {
    	return ROOT.'upload/'.$file_name;
    }
	
	public static function upload($file_name) {
		return ROOT.'upload/'.$file_name;
	}
}
?>